草庐IT

JSON omitempty 带 time.Time 字段

全部标签

Go Web 服务 - 未定义的类型没有字段或方法

这个问题在这里已经有了答案:Functioninsamepackageundefined(10个答案)关闭8个月前。我正在尝试在Web服务中整合路由功能。包main有两个值得关注的文件,route.go和main.go。在route.go中,我定义路由如下:packagemainimport("github.com/justinas/alice""net/http")func(app*Application)Routes()http.Handler{standardMiddleware:=alice.New(app.logRequest)mux:=http.NewServeMux()m

go - 编码 xml 字段时如何使用结构标签?

问题更多的是“可以去做吗?”然后解决实际问题。packagemainimport("encoding/xml""fmt""log")typeExamplestruct{FloatFloatFloat3Float`printf:"%.3f"`Float7Float`printf:"%.7f"`}typeFloatfloat64funcmain(){e:=Example{Float:1.0,Float3:2.0,Float7:3.0,}b,err:=xml.MarshalIndent(e,"","")iferr!=nil{log.Fatal(err)}fmt.Println(string(

time - 在 Go 中将格式化日期作为字符串返回

我想在go中以一种格式返回当前时间,我在时间格式方面没有问题,但是当在func中将它作为字符串返回时,我卡住了:packagemainimport("fmt""time")funcgetCurrentTime()string{t:=time.Now().Local()returnfmt.Sprintf("%s",t.Format("2006-01-0215:04:05+0800"))}funcmain(){fmt.Println("currentTimeis:",getCurrentTime)t:=time.Now().Local()fmt.Println("currentTimeis

go - 导入的结构用作匿名字段

所以我正在尝试编写一些Go文件,以便有一个面向公众的包和一个内部包。在面向公众的包中,有一个结构与内部结构几乎相同(缺少一个字段)。我想过在内部结构体中使用匿名字段,但似乎不太好玩。例子:public/public.go:packagepublictypePublicStructstruct{Field1bool`json:"fetchStats"`}数据/数据.gopackagedataimportpublicData"public"typeInternalStructstruct{publicData.PublicStructField2bool`json:"includeHidd

mongodb - 查询两个字段之和小于给定值

我正在使用Go语言和MongoDB与mgo.v2司机和我有类似的结构typeMarkModelstruct{IDbson.ObjectId`json:"_id,omitempty"bson:"_id,omitempty"`Namestring`json:"name"bson:"name"`Sumint`json:"sum"bson:"sum"`Deltaint`json:"delta"bson:"delta"`}我需要找到所有Sum+Delta在哪里例如。目前我全部加载,然后在Go代码中进行过滤,但我想在查询级别进行过滤。如何进行查询?目前我全部返回marks:=[]MarkModel

go - 系统休眠后 time.Time.Sub() 计算错误

我创建了一个timerapplication在终端窗口中运行。我在time.Time.Sub()中目睹了一些奇怪的行为当我启动终端计时器并通过关闭它让运行它的macOS笔记本电脑进入休眠状态时。当我重新打开笔记本电脑时,突然该功能似乎无法正常工作,正如thisblockofcode所跟踪的那样,在这个复制的输出中可以看出计算错误,除非我误解了time.Time值:==615aTimer==20m59snow:2018-04-2705:58:20.440440541-0700PDTm=+310.234277006exactLeft:20m59.142673336st.end:2018-0

go - 为什么 time.Time 在 bson.Marshal 和 bson.Unmarshal 之后不相等?

为什么会输出false?我期待true...packagemainimport("fmt""time""gopkg.in/mgo.v2/bson")typeSstruct{Ttime.Time}funcmain(){t:=S{time.Now()}bytes,_:=bson.Marshal(t)vardtSbson.Unmarshal(bytes,&dt)fmt.Println(dt.T.Equal(t.T))}gorun上面会输出false,为什么Marshal/Unmarshal不保留原来的值? 最佳答案 Bson存储时间的精度

json - 为什么我从 mongodb 获取我的 json 中某些字段的所有零值?

我正在使用官方的mongodb-go-driver在Go网络服务器中从MongoDBatlas中获取我的数据。我正在使用json.Marshal转换为json。但某些字段的所有值都变为零。packagemainimport("context""fmt""log""github.com/gin-gonic/gin""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options""go.mongodb.org/mongo-drive

time - 我如何在 Go 语言中格式化时间

我需要这样格式化时间Mon,16Jun201409:19:01+0200代码如下a:=time.RFC1123Z给我Mon,02Jan200615:04:05-0700这似乎是正确的,但我猜需要当前时间并以某种方式使用now()。但还没想出办法。 最佳答案 您需要使用Format为了这。time.RFC1123Z只是一个布局字符串。t:=time.Now()s:=t.Format(time.RFC1123Z)//Formatttoastringusingthegivenlayoutfmt.Println(s)

go - 来自嵌入式类型的复合文字和字段

我正在编写一个示例程序来回答这里关于SO的另一个问题,发现自己对以下代码无法编译这一事实感到有些困惑;https://play.golang.org/p/wxBGcgfs1opackagemainimport"fmt"typeAstruct{FNamestringLNamestring}typeBstruct{A}func(a*A)Print(){fmt.Println(a.GetName())}func(a*A)GetName()string{returna.FName}func(b*B)GetName()string{returnb.LName}funcmain(){a:=&A{F